Presentación

A continuación se va desarrollar una página web en GitHub Pages, que muestre un tabla y gráficos con el conjunto de datos página web de datos abiertos del Organismo de Investigación Judicial (OIJ)

Entradas

# Cargar librerias

library(ggplot2) 
library(plotly)
library(DT)
library(dplyr)
library(sf)
library(leaflet)
library(readxl)
library(rgdal)
library(lubridate)
library(colourpicker)

Datos generales

estadisticas_policiales <- readxl::read_excel("C:/Users/HP/Desktop/R/estadisticaspoliciales2021.xls") 

Transformaciones

estadisticas_policiales$Fecha <- as.Date(estadisticas_policiales$Fecha, format = "%d/%m/%Y")

Salida

Tabla

# Tabla interactiva del paquete DT

estadisticas_policiales %>%
  dplyr::select(Delito,Fecha,
                Victima, 
                Edad, 
                Genero, 
                Provincia, 
                Canton,
                ) %>%
  datatable(
    options = list(
      pageLength = 10,
     Language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json') # traducción al español
    ),
    colnames = c(
      "Delito",
      "Fecha",
      "Victima",
      "Edad",
      "Genero",
      "Provincia",
      "Cantón"
    )
  )

Gráficos

Gráfico por delito

grafico_por_tipo_de_delito <-
  estadisticas_policiales %>%
  count(Delito) %>%
  ggplot(aes(x = reorder(Delito, n), y = n)) +
  geom_bar(stat = "identity") +
  ggtitle("Delitos por tipo ") +
  xlab("Tipo de delito") +
  ylab("Cantidad") +
  coord_flip() +
  theme_minimal()

ggplotly(grafico_por_tipo_de_delito)

Gráficos de delitos por mes

Estadisticas <-
estadisticas_policiales %>%
mutate(fecha = lubridate::month(Fecha))

mes <-c("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre")
Delitos_por_mes <-
  Estadisticas%>%
  count(fecha) %>%
  ggplot(level =level_order,(aes(x = reorder(mes, fecha), y = n)))  +
  geom_bar(stat = "identity") +
  ggtitle("Delitos durante el año 2021") +
  xlab("Mes") +
  ylab("Cantidad de delitos") +
  theme_minimal()

ggplotly(Delitos_por_mes)

Gráfico de delitos por género

delitos_por_genero <-
  estadisticas_policiales %>%
  ggplot(aes(x = Delito, fill = Genero)) +
  geom_bar(position = "fill") +
  ggtitle("Delito por género") +
  xlab("Delito") +
  ylab("Cantidad") +
  labs(fill = "Género") +
  coord_flip() +
  theme_minimal()+
  scale_fill_manual(values = c("#0F0F0F", "#4209ED", "#FF0A6CB3"))

ggplotly(delitos_por_genero) %>% config(locale = 'es')

Grafico por cantidad de delitos en los cantones de San José, Heredia, Cartago y Alajuela

Delitos_por_cantones <-
  estadisticas_policiales %>%
  count(Canton) %>%
  filter(Canton == "SAN JOSE" |
           Canton == "ALAJUELA" |
           Canton == "CARTAGO" | Canton == "HEREDIA") %>%
  ggplot(aes(x = reorder(Canton, n), y = n)) +
  geom_bar(stat = "identity") +
  ggtitle("Delitos en los Cantones de San José, Alajuela, Cartago y Heredia") +
  xlab("Cantón") +
  ylab("Cantidad") +
  coord_flip() +
  theme_minimal()
  
ggplotly(Delitos_por_cantones)